/****************************************************************************************
 *
 * 本文件只放区块链请求方法、接口方法、数据处理方法，不放纯工具方法
 * 本文件只放区块链请求方法、接口方法、数据处理方法，不放纯工具方法
 * 本文件只放区块链请求方法、接口方法、数据处理方法，不放纯工具方法
 *
 * *************************************************************************************/

import { trigerConstantContract } from "@/libs/tron.lib";
import { footContract, MANAGE_BASEURL, MOCK } from "@/views/manage/js/manage.lib";
import { get } from "@/axios/http";
import axios from "axios";
import QS from "qs";


////////////////////////////////////////////////////////////区块链方法///////////////////////////////////////////////////
////////////////////////////////////////////////////////////区块链方法//////////////////////////////////////////////////
////////////////////////////////////////////////////////////区块链方法//////////////////////////////////////////////////
/**
 * todo 合约抽离
 * 读取投注信息
 * @param ids
 * @param sender
 * @returns {Promise<unknown>}
 */
export function tronViewGameBetInfo(ids, sender) {
	const parameter = [
		{type: 'uint256[]', value: ids},
	];
	return new Promise(function (resolve, reject) {
		trigerConstantContract(footContract, "viewGameBetInfo(uint256[])", parameter, sender, (rs) => {
			resolve(rs);
		});
	})
}

//读取游戏关键数据，是否可以所有游戏共用待定
export function tronGetGameKeyData(ids, sender) {
	const parameter = [
		{type: 'uint256', value: ids},
	];
	return new Promise(function (resolve, reject) {
		trigerConstantContract(footContract, "viewGamePlayMethod(uint256)", parameter, sender, (result) => {
			resolve(result);
		});
		
	})
}

///////////////////////////////////////////////////////////接口数据方法////////////////////////////////////////////////
///////////////////////////////////////////////////////////接口数据方法////////////////////////////////////////////////
///////////////////////////////////////////////////////////接口数据方法////////////////////////////////////////////////
/**
 * 解析游戏数据？
 * @param params
 * @returns {Promise<unknown>}
 */
export function apiRequestGameTron (params) {
	console.log('解析游戏数据，参数：',params)
	let _prefix = !MOCK ? 'TronUtilServlet' : ''
	return new Promise((resolve, reject) => {
		axios.post(MANAGE_BASEURL + _prefix, QS.stringify(params))
			.then(res => {
				resolve(res);
			})
			.catch(err => {
				reject(err)
			})
	});
}

//加载赛事玩法
export const apiGameList = function (params, cb) {
	let _url = MANAGE_BASEURL + "FootballLotteryServlet"
	get(_url, params).then((res) => {
		cb(res);
	}).catch((res) => {
		cb(res);
	})
};


//加载历史tz
export const apiMyBetHistory = function (params, cb) {
	let _url = MANAGE_BASEURL + "FootballLotteryServlet?"
	get(_url,params).then((res)=>{
		cb(res);
	}).catch((res)=>{
		cb(res);
	})
};
